package com.biz.utils;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * 日期工具类
 * 
 * @author 刘佳佳
 * 
 */
public class DateUtil {

	public static void main(String[] args) {

	}

	/**
	 * 日期转字符串
	 * 
	 * @param date
	 *            日期
	 * 
	 * @param pattern
	 *            格式
	 * @return
	 */
	public static String dateToString(Date date, String pattern) {
		if (date != null) {
			SimpleDateFormat sdf = new SimpleDateFormat(pattern);
			return sdf.format(date);
		}
		return "";
	}

	/**
	 * 日期转字符串
	 * 
	 * @param date
	 * @return
	 */
	public static String dateToString(Date date) {
		return dateToString(date, "yyyy-MM-dd hh:mm:ss");
	}
	
	/**
	 * 日期转字符串
	 * 
	 * @param date
	 * @return
	 */
	public static String dateToSimpleString(Date date) {
		return dateToString(date, "yyyy-MM-dd");
	}
	
	/**
	 * 当前日期 指定天数之前的日期
	 * @param days
	 * @return
	 */
	public static String laterDate(int days) {
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date temp_date = null;
		try {
			Date d =new Date();
			Calendar c = Calendar.getInstance();
			c.setTime(d);
			c.add(Calendar.DATE, -days);
			temp_date = c.getTime();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return format.format(temp_date);
	}

	public static String nextDate(String date) {
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date temp_date = null;
		try {
			Date d = format.parse(date);
			Calendar c = Calendar.getInstance();
			c.setTime(d);
			c.add(Calendar.DATE, +1);
			temp_date = c.getTime();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return format.format(temp_date);
	}

	public static Date string2Date(String date) {
		Date temp_date = null;
		if (date != null) {
			DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			try {
				temp_date = format.parse(date);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		} else {

		}
		return temp_date;
	}

	
	public static Date string2SimpleDate(String date) {
		Date temp_date = null;
		if (date != null) {
			DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
			try {
				temp_date = format.parse(date);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		} else {

		}
		return temp_date;
	}

}
